package com.whfc.openapi.api.fse.service;

import com.whfc.common.result.ListData;
import com.whfc.fse.dto.FseCraneDataLogDTO;
import com.whfc.fse.dto.OpenApiFseCraneDTO;
import com.whfc.fse.dto.OpenApiFseCraneDataDTO;
import com.whfc.fse.dto.OpenApiFseCraneRecordDTO;
import com.whfc.fse.param.FseCraneDataAddParam;

import java.util.Date;

/**
 * @ClasssName OpenApiFseCraneService
 * @Description 塔机服务
 * @Author hw
 * @Date 2021/2/4 16:09
 * @Version 1.0
 */
public interface OpenApiFseCraneService {

    /**
     * 获取塔机列表
     *
     * @param deptId
     * @return
     */
    ListData<OpenApiFseCraneDTO> list(Integer deptId);

    /**
     * 获取塔机实时数据
     *
     * @param sn
     * @return
     */
    OpenApiFseCraneDataDTO deviceInfo(String sn);

    /**
     * 获取塔机历史数据
     *
     * @param sn
     * @param startTime
     * @param endTime
     * @return
     */
    ListData<FseCraneDataLogDTO> dataReal(String sn, Date startTime, Date endTime);

    /**
     * 获取塔机吊装记录
     *
     * @param sn
     * @param startTime
     * @param endTime
     * @return
     */
    ListData<OpenApiFseCraneRecordDTO> dataRecord(String sn, Date startTime, Date endTime);

    /**
     * 新增塔机实时数据
     *
     * @param param
     */
    void dataAdd(FseCraneDataAddParam param);

    /**
     * 接收九磊智能塔吊数据
     * @param data
     */
    void jlznReceiveData(String data);

    void tanyueRealData(String data);

    void tanyueWarnData(String data);

    void tanyueWorkData(String data);
}
